#ifndef __GAMESTATE_SCENE_H__
#define __GAMESTATE_SCENE_H__

#include "cocos2d.h"
#include "CocosGUI.h"
#include "Game/GameLogic.h"

class GameState : public cocos2d::CCLayer, public IGameLogicCallBack
{
public:
    // Method 'init' in cocos2d-x returns bool, instead of 'id' in cocos2d-iphone (an object pointer)
    virtual bool init();
    
    // there's no 'id' in cpp, so we recommend to return the class instance pointer
    static cocos2d::CCScene* scene();
    
    // a selector callback    
	void menuShopCallback(CCObject* pSender);
	void menuStartGameCallback(CCObject* pSender);
	void menuColorBtnCallback(CCObject* pSender);
	void menuBackCallback(CCObject* pSender);

    // preprocessor macro for "static create()" constructor ( node() deprecated )
    CREATE_FUNC(GameState);      

	//IGameLogicCallBack
	void OnFailed();
	void OnSucceed();
	void OnGuessedOne();
	void OnFailedOne();

	void MainMenuUI();
	void GameUI();

	GameLogic* m_pGameLogic;
};

#endif // __GameState_SCENE_H__
